







package org.nstack.configuration.testlink.schema;

import javax.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;



@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "scope",
    "title",
    "documentId",
    "req"
})
@XmlRootElement(name = "requirementCategory")
public class RequirementCategory {

    @XmlElement(required = true)
    protected String scope;
    @XmlElement(required = true)
    protected String title;
    @XmlElement(required = true)
    protected String documentId;
    protected List<RequirementCategory.Req> req;


    public String getScope() {
        return scope;
    }


    public void setScope(String value) {
        this.scope = value;
    }


    public String getTitle() {
        return title;
    }


    public void setTitle(String value) {
        this.title = value;
    }


    public String getDocumentId() {
        return documentId;
    }


    public void setDocumentId(String value) {
        this.documentId = value;
    }


    public List<RequirementCategory.Req> getReq() {
        if (req == null) {
            req = new ArrayList<RequirementCategory.Req>();
        }
        return this.req;
    }



    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "prerequisite",
        "goal",
        "details",
        "title",
        "subResource",
        "relationalResource",
        "api",
        "other"
    })
    public static class Req {

        @XmlElement(required = true)
        protected String prerequisite;
        @XmlElement(required = true)
        protected String goal;
        @XmlElement(required = true)
        protected String details;
        @XmlElement(required = true)
        protected String title;
        protected List<String> subResource;
        protected List<String> relationalResource;
        protected List<RequirementCategory.Req.Api> api;
        @XmlElement(required = true)
        protected String other;


        public String getPrerequisite() {
            return prerequisite;
        }


        public void setPrerequisite(String value) {
            this.prerequisite = value;
        }


        public String getGoal() {
            return goal;
        }


        public void setGoal(String value) {
            this.goal = value;
        }


        public String getDetails() {
            return details;
        }


        public void setDetails(String value) {
            this.details = value;
        }


        public String getTitle() {
            return title;
        }


        public void setTitle(String value) {
            this.title = value;
        }

        public List<String> getSubResource() {
            if (subResource == null) {
                subResource = new ArrayList<String>();
            }
            return this.subResource;
        }


        public List<String> getRelationalResource() {
            if (relationalResource == null) {
                relationalResource = new ArrayList<String>();
            }
            return this.relationalResource;
        }


        public List<RequirementCategory.Req.Api> getApi() {
            if (api == null) {
                api = new ArrayList<RequirementCategory.Req.Api>();
            }
            return this.api;
        }


        public String getOther() {
            return other;
        }


        public void setOther(String value) {
            this.other = value;
        }



        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "requestClass",
            "responseClass"
        })
        public static class Api {

            @XmlElement(required = true)
            protected String requestClass;
            @XmlElement(required = true)
            protected String responseClass;


            public String getRequestClass() {
                return requestClass;
            }


            public void setRequestClass(String value) {
                this.requestClass = value;
            }


            public String getResponseClass() {
                return responseClass;
            }


            public void setResponseClass(String value) {
                this.responseClass = value;
            }

        }

    }

}
